package com.framerock.db;



/**
 * 创建一个条件模式
 * */
public class DBWhere {
    private String where = "";

    public static DBWhere start()
    {
        return new DBWhere();
    }

    /**
     * 字符串字段对应值不带AND
     * @param fid 字段
     * @param val 对应值
     * */
    public DBWhere wstro(String fid, String val)
    {
        this.where += " "+DB.chuliFields(fid)+" = '"+val+"'";
        return this;
    }

    /**
     * 字符串字段对应值带AND
     * @param fid 字段
     * @param val 对应值
     * */
    public DBWhere wstr(String fid, String val)
    {
        this.where += " AND "+DB.chuliFields(fid)+" = '"+val+"'";
        return this;
    }

    /**
     * 数字字段对应值不带AND
     * @param fid 字段
     * @param val 对应值
     * */
    public DBWhere winto(String fid, String val)
    {
        this.where += " "+DB.chuliFields(fid)+" = "+val+"";
        return this;
    }

    /**
     * 数字字段对应值不带AND
     * @param fid 字段
     * @param val 对应数字
     * */
    public DBWhere winto(String fid, int val)
    {
        return winto(fid, val+"");
    }

    /**
     * 数字字段对应值带AND
     * @param fid 字段
     * @param val 对应值
     * */
    public DBWhere wint(String fid, String val)
    {
        this.where += " AND "+DB.chuliFields(fid)+" = "+val+"";
        return this;
    }

    /**
     * 数字字段对应值带AND
     * @param fid 字段
     * @param val int对应值
     * */
    public DBWhere wint(String fid, int val)
    {
        return wint(fid, val+"");
    }


    /**
     * 带AND包含的条件
     * @param fid 字段
     * @param val 对应值
     * */
    public DBWhere win(String fid, String val)
    {
        this.where += " AND "+DB.chuliFields(fid)+" IN("+val+")";
        return this;
    }

    /**
     * 带AND的其他条件
     * @param where 字段
     * */
    public DBWhere awhere(String where)
    {
        this.where += " AND "+where;
        return this;
    }

    /**
     * 返回条件
     * */
    public String show()
    {
        return this.where;
    }
}
